From 8ebb2aa2cff2fc2c013449dcaa51989861c18644 Mon Sep 17 00:00:00 2001 From: "gm281@boulderdash.cl.cam.ac.uk" Date: Fri, 30 Jul 2004 11:14:02 +0000 Subject: [PATCH] bitkeeper revision 1.1108.41.1 (410a2d7a8Vn9rr5fmDlV15Z77R97-Q) Minor fix to BVT. When a domain migrates between CPUs its AVT must always be updated. --- xen/common/sched_bvt.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/xen/common/sched_bvt.c b/xen/common/sched_bvt.c index 41efe9fd1c..39f45419dd 100644 --- a/xen/common/sched_bvt.c +++ b/xen/common/sched_bvt.c @@ -208,8 +208,10 @@ void bvt_wake(struct domain *d) now = NOW(); - /* Set the BVT parameters. */ - if ( inf->avt < CPU_SVT(cpu) ) + /* Set the BVT parameters. AVT should always be updated + if CPU migration ocurred.*/ + if ( inf->avt < CPU_SVT(cpu) || + unlikely(test_bit(DF_MIGRATED, &d->flags)) ) inf->avt = CPU_SVT(cpu); /* Deal with warping here. */ @@ -227,7 +229,6 @@ void bvt_wake(struct domain *d) min_time = curr->lastschd + curr->min_slice; spin_unlock_irqrestore(&schedule_data[cpu].schedule_lock, flags); - if ( is_idle_task(curr) || (min_time <= now) ) cpu_raise_softirq(cpu, SCHEDULE_SOFTIRQ); else if ( schedule_data[cpu].s_timer.expires > (min_time + TIME_SLOP) ) -- 2.30.2